/*
 * ****************************************************************************
 * Copyright: 2020-2030, YZChain Tech. Co., Ltd.
 * File name:
 * Description:
 * Author: Dc luo
 * Version: v1.0
 * Date: $DATE
 * History:
 * ***************************************************************************
 */

package com.srp.common.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Date2String {

    public static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss" );

    // Date 有个属性是fastTime，其实new一个Date的时候就是获取了当前系统的时间戳（毫秒数）

    // long数据类型后面默认加L，否则系统默认当作Integer,会报数据too larger

    // mysql中的datetime 对应 Java.util.Date

    /**
     * 时间戳转成时间字符串
     * 例如：1570599496000 转为 "2019-10-09 13:38:16"
     *
     * @param timeStamp
     * @return
     */
    public static String timeStamp2Str(long timeStamp) {
        return  sdf.format(timeStamp);
    }

    /**
     * 时间戳转成时间字符串
     * 例如： "2019-10-09 13:38:16" 转为 1570599496000
     *
     * @param dateStr "2019-10-09 13:38:16"
     * @param format 传空默认："yyyy-MM-dd HH:mm:ss"
     * @return
     */
    public static long str2TimeStamp(String dateStr, String format) {
        if(dateStr == null || dateStr.length() == 0) {
            System.out.print("时间字符串不能为空");
            return 0L;
        }

        if(format == null || format.length() == 0) {
            format = "yyyy-MM-dd HH:mm:ss";
        }

        SimpleDateFormat dateFormat = new SimpleDateFormat(format);
        try {
            Date praseDate = dateFormat.parse(dateStr);
            long timeStamp = praseDate.getTime();
            return timeStamp;
        } catch (ParseException e1) {
            e1.printStackTrace();
        }

        return 0L;
    }

}
